﻿Option Explicit On
Option Strict On

Namespace Framework.Hardware

    Public Enum ErrorParameterType
        None
        DegC
        Watts
    End Enum

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <remarks></remarks>
    Public Class ErrorEventArgs
        Inherits EventArgs

#Region " Private Members "

        Private m_Message As String
        Private m_ParameterType As ErrorParameterType
        Private m_ParameterValue As String

#End Region

#Region " Constructor "

        ''' <summary>
        ''' Constructor
        ''' </summary>
        ''' <param name="Message">The Message</param>
        ''' <remarks></remarks>
        Public Sub New(ByVal Message As String, ByVal ParameterType As ErrorParameterType, ByVal ParameterValue As String)
            m_Message = Message
            m_ParameterType = ParameterType
            m_ParameterValue = ParameterValue
        End Sub

#End Region

#Region " Public Properties "

        ''' <summary>
        ''' The Message
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Message As String
            Get
                Return m_Message
            End Get
            Set(ByVal value As String)
                m_Message = value
            End Set
        End Property

        ''' <summary>
        ''' 
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property ParameterType As ErrorParameterType
            Get
                Return m_ParameterType
            End Get
            Set(ByVal value As ErrorParameterType)
                m_ParameterType = value
            End Set
        End Property

        Public Property ParameterValue As String
            Get
                Return m_ParameterValue
            End Get
            Set(ByVal value As String)
                m_ParameterValue = value
            End Set
        End Property

#End Region

    End Class

End Namespace